@import './variables';

@mixin clearfix() {
    &::after {
        display: table;
        clear: both;
        content: '';
    }
}

@mixin hairline-common() {
    position: absolute;
    box-sizing: border-box;
    content: ' ';
    pointer-events: none;
}

@mixin hairline($color: $gray-5) {
    @include hairline-common();

    top: -50%;
    right: -50%;
    bottom: -50%;
    left: -50%;
    border: 0 solid $color;
    transform: scale(0.5);
}

@mixin hairline-top($color: $gray-5, $left: 0, $right: 0) {
    @include hairline-common();

    top: 0;
    right: $right;
    left: $left;
    border-top: 1px solid $color;
    transform: scaleY(0.5);
}

@mixin hairline-bottom($color: $gray-5, $left: 0, $right: 0) {
    @include hairline-common();

    right: $right;
    bottom: 0;
    left: $left;
    border-bottom: 1px solid $color;
    transform: scaleY(0.5);
}

@mixin size($width, $height) {
    width: $width;
    height: $height;
}

@mixin square($size) {
    @include size($size, $size);
}

@mixin scrollBar {
    &::-webkit-scrollbar-track-piece {
        background: #d3dce6;
    }

    &::-webkit-scrollbar {
        width: 6px;
    }

    &::-webkit-scrollbar-thumb {
        background: #99a9bf;
        border-radius: 20px;
    }
}

@mixin multi-ellipsis($lines) {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: $lines;

    /* autoprefixer: ignore next */
    -webkit-box-orient: vertical;
}

@mixin ellipsis() {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@mixin triangle($width, $height, $color, $direction) {
    $width: $width/2;
    $color-border-style: $height solid $color;
    $transparent-border-style: $width solid transparent;
    height: 0;
    width: 0;

    @if $direction==up {
        border-bottom: $color-border-style;
        border-left: $transparent-border-style;
        border-right: $transparent-border-style;
    } @else if $direction==right {
        border-left: $color-border-style;
        border-top: $transparent-border-style;
        border-bottom: $transparent-border-style;
    } @else if $direction==down {
        border-top: $color-border-style;
        border-left: $transparent-border-style;
        border-right: $transparent-border-style;
    } @else if $direction==left {
        border-right: $color-border-style;
        border-top: $transparent-border-style;
        border-bottom: $transparent-border-style;
    }
}
